diff --git a/system/application/config/database.php b/system/application/config/database.php
index de78164..c594ba8 100644
--- a/system/application/config/database.php
+++ b/system/application/config/database.php
@@ -40,7 +40,7 @@
 $db['default']['active_r'] = TRUE;
 $db['default']['pconnect'] = TRUE;
 $db['default']['db_debug'] = TRUE;
-$db['default']['cache_on'] = TRUE;
+$db['default']['cache_on'] = FALSE;
 $db['default']['cachedir'] = APPPATH.'db_cache/';
 
 
diff --git a/system/application/config/mimes.php b/system/application/config/mimes.php
index de0a917..8b5036f 100644
--- a/system/application/config/mimes.php
+++ b/system/application/config/mimes.php
@@ -4,7 +4,7 @@
 | MIME TYPES
 | -------------------------------------------------------------------
 | This file contains an array of mime types.  It is used by the
-| Upload class to help identyfiy allowed file types.
+| Upload class to help identify allowed file types.
 |
 */
 
diff --git a/system/libraries/Loader.php b/system/libraries/Loader.php
index 452e39d..dc588bb 100644
--- a/system/libraries/Loader.php
+++ b/system/libraries/Loader.php
@@ -30,12 +30,13 @@
 
 	var $CI;
 	var $ob_level;
+	var $view_path		= '';
 	var $cached_vars	= array();
 	var $models			= array();
 	var $helpers		= array();
 	var $plugins		= array();
 	var $scripts		= array();
-	var $view_path		= '';
+	var $varmap			= array('unit_test' => 'unit', 'user_agent' => 'agent');
 
 	/**
 	 * Constructor
@@ -665,6 +666,7 @@
 	function _ci_init_class($class, $prefix = '', $varname = NULL)
 	{	
 		// Is there an associated config file for this class?
+		$config = NULL;
 		if (file_exists(APPPATH.'config/'.$class.EXT))
 		{
 			include_once(APPPATH.'config/'.$class.EXT);
@@ -678,9 +680,17 @@
 		{
 			$name = $prefix.$class;
 		}
-						
-		$classvar = ( ! is_null($varname)) ? $varname : strtolower($class);
 		
+		// Set the variable name we will assign the class to
+		if ( ! is_null($varname)) 
+		{
+			$classvar = $varname;
+		}
+		else
+		{
+			$class = strtolower($class);			
+			$classvar = ( ! isset($this->varmap[$class])) ? $class : $this->varmap[$class];
+		}
 		
 		// Instantiate the class
 		if ($config !== NULL)
diff --git a/system/libraries/User_agent.php b/system/libraries/User_agent.php
index 39e1232..11c2baa 100644
--- a/system/libraries/User_agent.php
+++ b/system/libraries/User_agent.php
@@ -37,12 +37,16 @@
 	var $languages	= array();
 	var $charsets	= array();
 	
+	var $platforms	= array();
+	var $browsers	= array();
+	var $mobiles	= array();
+	var $robots		= array();
+	
 	var $platform	= '';
 	var $browser	= '';
 	var $version	= '';
 	var $moble		= '';
 	var $robot		= '';
-
 	
 	/**
 	 * Constructor
@@ -66,8 +70,9 @@
 				$this->_compile_data();
 			}
 		}
+		
+		log_message('debug', "Table Class Initialized");
 	}
-
 	
 	// --------------------------------------------------------------------
 	
@@ -79,7 +84,7 @@
 	 */		
 	function _load_agent_file()
 	{
-		if ( ! @include(APPPATH.'config/user_agent'.EXT))
+		if ( ! @include(APPPATH.'config/user_agents'.EXT))
 		{
 			return FALSE;
 		}
@@ -102,7 +107,7 @@
 
 		if (isset($mobiles))
 		{
-			$this->browsers = $mobiles;
+			$this->mobiles = $mobiles;
 			unset($mobiles);
 			$return = TRUE;
 		}
@@ -344,7 +349,7 @@
 	 * @access	public
 	 * @return	string
 	 */			
-	function agent()
+	function agent_string()
 	{
 		return $this->agent;
 	}
